import { Body, Controller } from '@nestjs/common';
import { PostsRo, PostsService } from './posts.service';
import { Get, Post } from '@nestjs/common';

@Controller('posts')
export class PostsController {
  constructor(private readonly postsService: PostsService) {
    // 通过构造函数注入PostsService
    // 这里postsService实例已经准备好供Controller使用
  }

  /**
   * @description 创建文章
   * @param body
   */
  @Post('create')
  async create(@Body() createPostDto: any) {
    return this.postsService.create(createPostDto); // 调用PostsService的方法
  }

  /**
   * @description 获取文章列表
   * @param query
   * @returns
   */
  @Post('list')
  async findAll(query): Promise<PostsRo> {
    return this.postsService.findAll(query); // 调用PostsService的方法
  }

  /**
   * @description 获取指定文章
   * @param id
   * @returns
   */
  @Get(':id')
  async findById(id): Promise<any> {
    return this.postsService.findById(id); // 调用PostsService的方法
  }

  /**
   * @description 更新文章
   * @param id
   * @param body
   */
  @Post('update/:id')
  async updateById(id, @Body() updatePostDto: any) {
    return this.postsService.updateById(id, updatePostDto); // 调用PostsService的方法
  }

  /**
   * @description 删除文章
   * @param id
   * @returns
   */
  @Post('delete/:id')
  async deleteById(id): Promise<any> {
    return this.postsService.remove(id); // 调用PostsService的方法
  }
}
